package org.cupk2.tools.i18n.string;

import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class CupkStringUtils {


    public static List<String> splitStringByLength(String input, int length) {
        List<String> result = new ArrayList<>();
        if (input == null || input.isEmpty()) {
            return result; // 返回空列表如果输入字符串为空或null
        }
        for (int i = 0; i < input.length(); i += length) {

            int end = Math.min(i + length, input.length());

            String substring = input.substring(i, end);
            result.add(substring);
        }
        return result;
    }

    /**
     * 按照第一个匹配到的flag字符分隔字符串input
     *
     * @param input
     * @param flag
     * @return
     */
    public static String[] splitStringByFirstChart(String input, String flag) {
        input = input.replace("：", ":");
        if (input == null || !input.contains(flag)) {
            return new String[]{input}; // 如果没有冒号，则返回原字符串
        }
        int index = input.indexOf(flag); // 找到第一个冒号的位置

        String part1 = input.substring(0, index);
        String part2 = input.substring(index + 1);
        return new String[]{part1, part2};
    }

    /**
     * 从url中解析附件id
     *
     * @param url
     * @return
     */
    public static String getFileIdByUrl(String url) {


        if (url.indexOf("api/files/download/") >= 0) {
            String regex = ".*/([^/]+)$";
            Pattern pattern = Pattern.compile(regex);
            Matcher matcher = pattern.matcher(url);
            if (matcher.find()) {
                return matcher.group(1);  // 返回匹配到的第一个捕获组
            } else {
                return null;
            }
        }
        return null;
    }
}
